---
title: "Dashboards(World Happiness Score)"
author: "Kayi Kim"
output:
flexdashboard::flex_dashboard:
social: menu
source_code: embed
---
```{r setup, include=FALSE}
library(flexdashboard)
library(ggplot2)
library(plotly)
library(sf)
link="https://github.com/kkasey/pubpol543/raw/main/2019.csv"
data <-read.csv(link)
library(rio)
linkCountry="https://github.com/kkasey/pubpol543/raw/main/2019.csv"
data2 <-read.csv(linkCountry)
#### reading maps
linkMap="https://github.com/EvansDataScience/VAforPM_Spatial/raw/main/worldMap.geojson"
### merge vars into map
mapWorld=read_sf(linkMap)
mapWorldVars=merge(mapWorld, data, by='NAME')
countriesPoints = st_as_sf(data2,
coords = c("longtitude", "latitude"),
crs = st_crs(mapWorld))
set.seed(123)
library(cluster)
vars=c("GDP.per.capita", "Social.support", "Freedom.to.make.life.choices")
distMatrix=cluster::daisy(data[,vars])
res.pam=cluster::pam(x=distMatrix,
k = 3,
cluster.only = F)
data$cluster=as.factor(res.pam$clustering)
theVars=c(vars,'cluster')
aggregate(.~cluster,
data=data[,theVars],
FUN=median)
```
Static Plots
=======================================================================
Row
-----------------------------------------------------------------------
### Histogram
```{r}
base1=ggplot(data=data) + theme_classic()
statichist1=base1 + geom_histogram(aes(Score))
statichist1
```
### boxplot
```{r}
staticBox=base1 + geom_boxplot(aes(GDP.per.capita))
staticBox
```
Row
-----------------------------------------------------------------------
### Scatter Plot 1
```{r}
staticPoints1=base1 + geom_point(aes(x=Social.support, y=Score))
staticPoints1
```
### Scatter Plot 2
```{r}
staticPoints2=base1 + geom_point(aes(x=GDP.per.capita, y=Score))
staticPoints2
```
Interactive Plots
=======================================================================
Row
-----------------------------------------------------------------------
### Histogram
```{r}
ggplotly(statichist1)
```
### Boxplot
```{r}
ggplotly(staticBox)
```
Row
-----------------------------------------------------------------------
### Scatter Plot 1
```{r}
ggplotly(staticPoints1)
```
### Scatter Plot 2
```{r}
ggplotly(staticPoints2)
```
Interactive Maps
=======================================================================
Row
-----------------------------------------------------------------------
### Map 1
```{r}
base2=ggplot(data=mapWorld) + geom_sf(fill='grey90',color=NA) + theme_classic()
numericMap= base2 + geom_sf(data=mapWorldVars,aes(fill=Score,text=NAME),color=NA)
numericMap=numericMap + scale_fill_gradient(low = 'red',
high= 'blue')
numericMap%>%ggplotly()
```
### Map 2
```{r}
numericMap2= base2 + geom_sf(data=mapWorldVars,aes(fill=Social.support,
text=NAME),
color=NA)
numericMap2 = numericMap2 + scale_fill_gradient(low = 'green',
high= 'blue')
numericMap2%>%ggplotly()
```
Row
-----------------------------------------------------------------------
### Map 3
```{r, eval=TRUE,warning=FALSE,message=FALSE}
points1= base2 + geom_sf(data=countriesPoints,aes(text=NAME, color=Score))
points1%>%ggplotly()
```
### Map 4
```{r, eval=TRUE,warning=FALSE,message=FALSE}
points2= base2 + geom_sf(data=countriesPoints,aes(text=NAME, color=Social.support))
points2%>%ggplotly()
```